<%
=begin
apps: postgresql
platforms: kubernetes, tanzu-application-catalog
id: customize_config_file
title: Customize the configuration file
category: configuration
weight: 40
highlight: 40
=end %>

### *postgresql.conf* / *pg_hba.conf* files as configMap

This Helm chart also supports to customize the whole configuration file.

Add your custom file to *files/postgresql.conf* in your working directory. This file will be mounted as configMap to the containers and it will be used for configuring the PostgreSQL server.

Alternatively, you can specify PostgreSQL configuration parameters using the *postgresqlConfiguration* parameter as a dict, using camelCase, e.g. {"sharedBuffers": "500MB"}.

In addition to these options, you can also set an external ConfigMap with all the configuration files. This is done by setting the *configurationConfigMap* parameter. Note that this will override the two previous options.

### Allow settings to be loaded from files other than the default *postgresql.conf*

If you don't want to provide the whole PostgreSQL configuration file and only specify certain parameters, you can add your *extended .conf* files to *files/conf.d/* in your working directory. Those files will be mounted as configMap to the containers adding/overwriting the default configuration using the *include_dir* directive that allows settings to be loaded from files other than the default *postgresql.conf*.

Alternatively, you can specify the extended configuration using the *postgresql.extendedConf* parameter.
